package com.jic.order.model.vo.request;

import java.util.Date;
import java.math.BigDecimal;
import com.jic.common.base.vo.BaseEntityRequest;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@NoArgsConstructor
@ApiModel(description = " 订单主表实体类")
public class MOrderRequest extends BaseEntityRequest {
	private static final long serialVersionUID = 1L;
    // @NotEmpty(message = "主键ID") 
    @ApiModelProperty(notes = "主键ID")
    private Long id;

    // @NotEmpty(message = "请求流水号") 
    @ApiModelProperty(notes = "请求流水号")
    private String serialNo;

    // @NotEmpty(message = "订单父编号") 
    @ApiModelProperty(notes = "订单父编号")
    private String parentOrderNo;

    // @NotEmpty(message = "订单编号") 
    @ApiModelProperty(notes = "订单编号")
    private String orderNo;

    // @NotEmpty(message = "订单状态，1.待支付 2.已支付3.待发货4.已发货5.确认收货6.待评价7.已关闭8.付款处理中9.已退款10.已完成") 
    @ApiModelProperty(notes = "订单状态，1.待支付 2.已支付3.待发货4.已发货5.确认收货6.待评价7.已关闭8.付款处理中9.已退款10.已完成")
    private Integer orderStatus;

    // @NotEmpty(message = "0 代表普通下单 1代表代客下单") 
    @ApiModelProperty(notes = "0 代表普通下单 1代表代客下单")
    private Long orderType;

    // @NotEmpty(message = "冗余-销售渠道") 
    @ApiModelProperty(notes = "冗余-销售渠道")
    private Integer saleChannel;

    // @NotEmpty(message = "订单标签，VIP、紧急、特别、关注、搁置") 
    @ApiModelProperty(notes = "订单标签，VIP、紧急、特别、关注、搁置")
    private Integer orderTag;

    // @NotEmpty(message = "") 
    @ApiModelProperty(notes = "")
    private String storeLogoUrl;

    // @NotEmpty(message = "下单时间") 
    @ApiModelProperty(notes = "下单时间")
    private Date buyTime;

    // @NotEmpty(message = "购买人") 
    @ApiModelProperty(notes = "购买人")
    private Long buyerId;

    // @NotEmpty(message = "购买人用户名") 
    @ApiModelProperty(notes = "购买人用户名")
    private String buyerUsername;

    // @NotEmpty(message = "购买人真实名称") 
    @ApiModelProperty(notes = "购买人真实名称")
    private String buyerRealname;

    // @NotEmpty(message = "销售总金额") 
    @ApiModelProperty(notes = "销售总金额")
    private BigDecimal saleTotalAmount;

    // @NotEmpty(message = "优惠总金额，优惠金额=销售总金额-购买总金额") 
    @ApiModelProperty(notes = "优惠总金额，优惠金额=销售总金额-购买总金额")
    private BigDecimal discountTotalAmount;

    // @NotEmpty(message = "购买总金额，购买总金额=销售总金额-优惠总金额") 
    @ApiModelProperty(notes = "购买总金额，购买总金额=销售总金额-优惠总金额")
    private BigDecimal buyTotalAmount;

    // @NotEmpty(message = "物流总费") 
    @ApiModelProperty(notes = "物流总费")
    private BigDecimal expressTotalFee;

    // @NotEmpty(message = "实付总金额，实付总金额=购买总金额+物流费") 
    @ApiModelProperty(notes = "实付总金额，实付总金额=购买总金额+物流费")
    private BigDecimal actualPayTotalAmount;

    // @NotEmpty(message = "备注") 
    @ApiModelProperty(notes = "备注")
    private String mark;

    // @NotEmpty(message = "版本号") 
    @ApiModelProperty(notes = "版本号")
    private Long version;

    // @NotEmpty(message = "团购ID") 
    @ApiModelProperty(notes = "团购ID")
    private String groupId;

    // @NotEmpty(message = "活动ID") 
    @ApiModelProperty(notes = "活动ID")
    private String promotionId;

    // @NotEmpty(message = "活动类型 类型:1单一促销,2满量促销,3满额促销,4秒杀,5赠送类促销,6组合促销7.单品X件优惠,8换购,9预售,11优惠券") 
    @ApiModelProperty(notes = "活动类型 类型:1单一促销,2满量促销,3满额促销,4秒杀,5赠送类促销,6组合促销7.单品X件优惠,8换购,9预售,11优惠券")
    private Integer promotionType;

    // @NotEmpty(message = "创建人姓名") 
    @ApiModelProperty(notes = "创建人姓名")
    private String creatorName;

    // @NotEmpty(message = "更新人姓名") 
    @ApiModelProperty(notes = "更新人姓名")
    private String updaterName;

    // @NotEmpty(message = "预计发货时间") 
    @ApiModelProperty(notes = "预计发货时间")
    private Date predictDeliveryTime;

    // @NotEmpty(message = "商户名称") 
    @ApiModelProperty(notes = "商户名称")
    private String merchantName;

    // @NotEmpty(message = "'商户id") 
    @ApiModelProperty(notes = "'商户id")
    private Long merchantId;

    // @NotEmpty(message = "订单类型（0-全部 1-积分订单 2-普通订单）") 
    @ApiModelProperty(notes = "订单类型（0-全部 1-积分订单 2-普通订单）")
    private Long orderTypeB;

    // @NotEmpty(message = "'来源渠道（0-全部 1-APP 2-商城小程序 3-企业微信 4-We2000公众号 5-商城公众号 6-其他）',") 
    @ApiModelProperty(notes = "'来源渠道（0-全部 1-APP 2-商城小程序 3-企业微信 4-We2000公众号 5-商城公众号 6-其他）',")
    private Long sources;

    // @NotEmpty(message = "订单来源（0-全部 1-拼团 2-秒杀 3-预售 4-抽奖") 
    @ApiModelProperty(notes = "订单来源（0-全部 1-拼团 2-秒杀 3-预售 4-抽奖")
    private Long orderSources;

    // @NotEmpty(message = "收货人手机号") 
    @ApiModelProperty(notes = "收货人手机号")
    private String consigneePhone;

    // @NotEmpty(message = "商户code'") 
    @ApiModelProperty(notes = "商户code'")
    private String merchantCode;

    // @NotEmpty(message = "商品编码") 
    @ApiModelProperty(notes = "商品编码")
    private String commodityCode;

    // @NotEmpty(message = "运单编号'") 
    @ApiModelProperty(notes = "运单编号'")
    private String waybillNumber;

    // @NotEmpty(message = "发货日期") 
    @ApiModelProperty(notes = "发货日期")
    private Date deliveryDate;

    // @NotEmpty(message = "支付方式（0-全部 1-微信分期 2-We2000 3-微信支付 4-微信银行储蓄卡）',") 
    @ApiModelProperty(notes = "支付方式（0-全部 1-微信分期 2-We2000 3-微信支付 4-微信银行储蓄卡）',")
    private Long payment;

    // @NotEmpty(message = "'是否开发票（0-全部 1-是 2-否）',") 
    @ApiModelProperty(notes = "'是否开发票（0-全部 1-是 2-否）',")
    private Long whetherInvoice;

    // @NotEmpty(message = "结算状态（0-全部 1-未结算 2-已清算 3-轧差中 4-已轧差）',") 
    @ApiModelProperty(notes = "结算状态（0-全部 1-未结算 2-已清算 3-轧差中 4-已轧差）',")
    private Long balanceSts;

    // @NotEmpty(message = "订单积分合计") 
    @ApiModelProperty(notes = "订单积分合计")
    private BigDecimal orderCumtrapz;

    // @NotEmpty(message = "商品名称") 
    @ApiModelProperty(notes = "商品名称")
    private String goodsName;

    // @NotEmpty(message = "外部订单编号") 
    @ApiModelProperty(notes = "外部订单编号")
    private String externalOrderCode;

    // @NotEmpty(message = "销售商户") 
    @ApiModelProperty(notes = "销售商户")
    private String salesBusiness;

    // @NotEmpty(message = "收货人名字") 
    @ApiModelProperty(notes = "收货人名字")
    private String receivername;

}
